perm filename NSEG[4,KMC] blob
sn#059156 filedate 1973-08-17 generic text, type T, neo UTF8
00100 COMMENT ⊗ VALID 00002 PAGES
00200 C REC PAGE DESCRIPTION
00300 C00001 00001
00400 C00002 00002 EXPR SEGMENT(L)
00500 C00004 ENDMK
00600 C⊗;
00100 EXPR SEGMENT(L);
00200 SEGMENT1(NIL,L);
00300
00400 EXPR SEGMENT1(S,R:X);
00500 IF ¬R THEN <S>
00600 ELSE IF NUMBERP(R[1]) |( ¬R[1].STOPPER & ¬R[1].LONG) THEN SEGMENT1(S @<R[1]>, CDR R)
00700 ELSE IF R[1].LONG & (X←PREFIX(R[1].LONG, R[1].LONG, R))
00800 THEN IF S THEN S CONS SEGMENT1(<X[1]>, X[2])
00900 ELSE SEGMENT1(<X[1]>, X[2])
01000 ELSE IF S THEN S CONS SEGMENT(R)
01100 ELSE SEGMENT1(<R[1]>,CDR R);
01200
01300 EXPR PREFIX(P,L,I);
01400 IF ¬L THEN <P,I>
01500 ELSE IF ¬I THEN NIL
01600 ELSE IF L[1] NEQ I[1] THEN NIL
01700 ELSE PREFIX(P, CDR L, CDR I);
01800
01900 EXPR INIT();
02000 BEGIN
02100 NEW INPT;
02200 FOR NEW I IN '(
02300 ABOVE (ACCORDING TO) AFTER AGAINST (ALMOST AS)
02400 ALONG ALTHOUGH AMID AMIDST AND AROUND AS (AS FAR AS) AT AWAY
02500 BECAUSE BEFORE BEHIND BELOW BESIDE BESIDES BETWEEN BUT BY
02600 DOWN DURING EITHER EXCEPT EXCEPTING FIRST FOR FROM FURTHERMORE
02700 HOWEVER IF IN INDEED (IN ORDER TO) (INSTEAD OF) INTO
02800 LATER NEITHER NOR OFF ON (ON TOP OF) OR OUT (OUT OF) OUTSIDE
02900 PAST SINCE (SO THAT) THAT THEREFORE THROUGH TO
03000 UNDER UNDERNEATH UNLESS UP
03100 WHAT WHATEVER WHEN WHENEVER WHERE WHETHER WHICH WHO WHOM WHY WITH WITHIN WITHOUT
03200 YET
03300 ) DO IF ATOM I THEN I.STOPPER{0}←T
03400 ELSE I[1].LONG{0} ← I;
03500
03600 WHILE INPT←READ() DO TERPRI PRINT SEGMENT(INPT);
03700 END;
03800
03900 _EOF_